Detecting and correcting whiteboard images while enabling the removal of the speaker

ABSTRACT

A method, system and computer program product for improving the recording of classroom lectures or other such presentations. A video frame containing a whiteboard image is converted into a black and white image for the detection of boundaries. These boundaries are classified as horizontal or vertical lines. Quadrangles are then formed using spatial arrangements of these lines. The quadrangles that are most likely to spatially coincide with the boundaries of the whiteboard image are identified. The quadrangles are then sorted (ranked) based on specific characteristics, such as size and position. The area corresponding to the identified quadrangle in the video frame is then cropped. Furthermore, the speaker in the video frame can be removed based on detecting changes that are characteristic of movements of a speaker. In this manner, the visual and educational experience involved in the recording of classroom lectures or other such presentation is improved.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims priority to U.S. Provisional Patent ApplicationSer. No. 62/221,777, entitled “Detecting and Correcting WhiteboardImages While Enabling the Removal of the Speaker,” filed Sep. 22, 2015,which is incorporated by reference herein in its entirety.

TECHNICAL FIELD

The present invention relates generally to recording classroom lecturesor other such presentations, and more particularly to improving therecording of classroom lectures or other such presentations by detectingand correcting whiteboard images while enabling the removal of thespeaker or presenter.

BACKGROUND

Current methods of recording classroom lectures or other suchpresentations either involve audio recording only, or simple videorecording of the lecture scene without processing. Simple audiorecording is far less useful than visualization of an accompanyingwhiteboard image. However, simple video recording gives a visual signalthat is hard to interpret because of geometric distortion, pooracquisition conditions, the obstruction of an occluding, moving speaker,and poor color reproduction.

Hence, the current methods of recording classroom lectures or other suchpresentations are simply limited to taking an audio and/or videorecording of the whiteboard during a lecture or presentation therebylimiting the visual and educational experience of the viewer.

SUMMARY

In one embodiment of the present invention, a method for improving therecording of presentations comprises receiving a video frame containinga whiteboard image. The method further comprises converting the videoframe to an image containing the whiteboard image. The methodadditionally comprises detecting boundaries of the whiteboard image inthe converted image. Furthermore, the method comprises classifying thedetected boundaries as a horizontal or a vertical line. Additionally,the method comprises forming quadrangles using spatial arrangements ofthe horizontal and vertical lines. In addition, the method comprisesidentifying, by a processor, one or more quadrangles most likely tospatially coincide with the boundaries of the whiteboard image. Themethod further comprises cropping, by the processor, an area in thevideo frame corresponding to the identified one or more quadrangles inthe whiteboard image.

Other forms of the embodiment of the method described above are in asystem and in a computer program product.

The foregoing has outlined rather generally the features and technicaladvantages of one or more embodiments of the present invention in orderthat the detailed description of the present invention that follows maybe better understood. Additional features and advantages of the presentinvention will be described hereinafter which may form the subject ofthe claims of the present invention.

BRIEF DESCRIPTION OF THE DRAWINGS

A better understanding of the present invention can be obtained when thefollowing detailed description is considered in conjunction with thefollowing drawings, in which:

FIG. 1 illustrates a communication system configured in accordance withan embodiment of the present invention;

FIG. 2 illustrates a hardware configuration of a computing deviceconfigured in accordance with an embodiment of the present invention;

FIG. 3 illustrates the software components in the computing device usedin connection with detecting and correcting whiteboard images in thevideo frames while enabling the removal of the speaker or presenter inaccordance with an embodiment of the present invention;

FIG. 4 is a flowchart of a method for detecting and correctingwhiteboard images in video frames in accordance with an embodiment ofthe present invention;

FIG. 5 illustrates the process of detecting and correcting whiteboardimages in visual form in accordance with an embodiment of the presentinvention; and

FIG. 6 is a flowchart of a method for removing the speaker or presenterfrom the video frame to ensure that only the whiteboard image appears inaccordance with an embodiment of the present invention.

DETAILED DESCRIPTION

The principles of the present invention provide a new and easy way toautomatically detect, optimize for readability, and share a whiteboardimage from a video source. A “whiteboard,” as used herein, includesmarkerboards, dry-erase boards, dry-wipe boards, pen-boards,blackboards, smart whiteboards, digital whiteboards and smart screens. A“whiteboard image,” as used herein, refers to an image from such awhiteboard. The main technical challenge in detecting and sharing awhiteboard image from a video source is detecting a white rectangle inan image frame. The principles of the present invention provide analgorithm that automatically performs this task in a variety ofsituations. Additionally, the perspective is corrected, the colors areoptimized and a “professor hiding” or “speaker/presenter hiding”algorithm is implemented. These whiteboard images may then be stored ona server which can be viewed at a later point in time by other users.

The principles of the present invention automate the task of sharing awhiteboard image with colleagues or peers. This is a common functiondone in meetings and lectures, especially when the conference room isnot outfitted with appropriate video conferencing equipment.Additionally, saving and archiving whiteboard information for laterviewing is a common use case for students. By making this task moreautomatic, less expensive, and more portable, the task of sharing awhiteboard stream and in general the ability to teleconference ineducation, healthcare, and corporate scenarios are improved.

While the following discusses the present invention in connection withcomputing devices with an internal video camera, the principles of thepresent invention may be applied to a digital camera or any type ofelectronic device with an internal video camera or connected to a videocamera. A person of ordinary skill in the art would be capable ofapplying the principles of the present invention to suchimplementations. Further, embodiments applying the principles of thepresent invention to such implementations would fall within the scope ofthe present invention.

Furthermore, while the following discusses the present invention inconnection with a flat display, the principles of the present inventionmay be applied to a curved display. A person of ordinary skill in theart would be capable of applying the principles of the present inventionto such implementations. Further, embodiments applying the principles ofthe present invention to such implementations would fall within thescope of the present invention.

Referring now to the Figures in detail, FIG. 1 illustrates acommunication system 100 for practicing the principles of the presentinvention in accordance with an embodiment of the present invention.Communication system 100 includes a computing device 101 connected to aserver 102 via a network 103.

Computing device 101 may be any type of computing device (e.g., portablecomputing unit, Personal Digital Assistant (PDA), smartphone, laptopcomputer, mobile phone, navigation device, game console, desktopcomputer system, workstation, Internet appliance and the like)configured with the capability of recording video images of a classroomlecture or other such presentations where the recording of thepresentation is improved by detecting and correcting whiteboard imageswhile enabling the removal of the speaker or presenter as discussedbelow. Computing device 101 has the capability of connecting to network103 and consequently communicating with server 102, which is configuredto store the corrected whiteboard images from computing device 101 whichmay be later retrieved by other users, such as other computing deviceswhich are not shown in FIG. 1. A description of the hardwareconfiguration of computing device 101 is provided below in connectionwith FIG. 2.

System 100 is not to be limited in scope to any one particular networkarchitecture. System 100 may include any number of computing devices101, servers 102 and networks 103.

Referring now to FIG. 2, FIG. 2 illustrates a hardware configuration ofcomputing device 101 which is representative of a hardware environmentfor practicing the present invention. Referring to FIG. 2, computingdevice 101 may have a processor 201 coupled to various other componentsby system bus 202. An operating system 203 may run on processor 201 andprovide control and coordinate the functions of the various componentsof FIG. 2. An application 204 in accordance with the principles of thepresent invention may run in conjunction with operating system 203 andprovide calls to operating system 203 where the calls implement thevarious functions or services to be performed by application 204.Application 204 may include, for example, an application for detectingand correcting whiteboard images in video frames while enabling theremoval of the speaker or presenter as discussed below in associationwith FIGS. 3-6.

Referring again to FIG. 2, read-only memory (“ROM”) 205 may be coupledto system bus 202 and include a basic input/output system (“BIOS”) thatcontrols certain basic functions of computing device 101. Random accessmemory (“RAM”) 206 and disk adapter 207 may also be coupled to systembus 202. It should be noted that software components including operatingsystem 203 and application 204 may be loaded into RAM 206, which may becomputing device's 101 main memory for execution. Disk adapter 207 maybe an integrated drive electronics (“IDE”) adapter that communicateswith a disk unit 208, e.g., disk drive. It is noted that the program fordetecting and correcting whiteboard images in video frames whileenabling the removal of the speaker or presenter, as discussed below inassociation with FIGS. 3-6, may reside in disk unit 208 or inapplication 204.

Computing device 101 may further include a communications adapter 209coupled to bus 202. Communications adapter 209 may interconnect bus 202with an outside network (e.g., network 103 of FIG. 1) thereby allowingcomputing device 101 to communicate with other devices (e.g., server 102of FIG. 1).

Computing device 101 may further include a camera 210 (e.g., webcam)configured to capture images of a presentation, such as a classroomlecture, where the recording of the presentation is improved bydetecting and correcting whiteboard images in the video frames whileenabling the removal of the speaker or presenter as discussed below.

I/O devices may also be connected to computing device 101 via a userinterface adapter 211 and a display adapter 212. Keyboard 213, mouse 214and speaker 215 may all be interconnected to bus 202 through userinterface adapter 211. A display monitor 216 may be connected to systembus 202 by display adapter 212. In this manner, a user is capable ofinputting to computing device 101 through keyboard 213 or mouse 214 andreceiving output from computing device 101 via display 216 or speaker215. Other input mechanisms may be used to input data to computingdevice 101 that are not shown in FIG. 2, such as display 216 havingtouch-screen capability and keyboard 213 being a virtual keyboard.Computing device 101 of FIG. 2 is not to be limited in scope to theelements depicted in FIG. 2 and may include fewer or additional elementsthan depicted in FIG. 2.

The present invention may be a system, a method, and/or a computerprogram product. The computer program product may include a computerreadable storage medium (or media) having computer readable programinstructions thereon for causing a processor to carry out aspects of thepresent invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, or either source code or object code written in anycombination of one or more programming languages, including an objectoriented programming language such as Smalltalk, C++ or the like, andconventional procedural programming languages, such as the “C”programming language or similar programming languages. The computerreadable program instructions may execute entirely on the user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).In some embodiments, electronic circuitry including, for example,programmable logic circuitry, field-programmable gate arrays (FPGA), orprogrammable logic arrays (PLA) may execute the computer readableprogram instructions by utilizing state information of the computerreadable program instructions to personalize the electronic circuitry,in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

As stated in the Background section, current methods of recordingclassroom lectures or other such presentations either involve audiorecording only, or simple video recording of the lecture scene withoutprocessing. Simple audio recording is far less useful than visualizationof an accompanying whiteboard image. However, simple video recordinggives a visual signal that is hard to interpret because of geometricdistortion, poor acquisition conditions, the obstruction of anoccluding, moving speaker, and poor color reproduction. Hence, thecurrent methods of recording classroom lectures or other suchpresentations are simply limited to taking an audio and/or videorecording of the whiteboard during a lecture or presentation therebylimiting the visual and educational experience of the viewer.

The principles of the present invention provide a means for improvingthe visual and educational experience involved in the recording ofclassroom lectures or other such presentations by detecting andcorrecting whiteboard images in the video frames while enabling theremoval of the speaker or presenter as discussed below in connectionwith FIGS. 3-6. FIG. 3 illustrates the software components in computingdevice 101 (FIGS. 1 and 2) used in connection with detecting andcorrecting whiteboard images in the video frames while enabling theremoval of the speaker or presenter. FIG. 4 is a flowchart of a methodfor detecting and correcting whiteboard images in video frames. FIG. 5illustrates the process of detecting and correcting whiteboard images invisual form. FIG. 6 is a flowchart of a method for removing the speakeror presenter from the video frame to ensure that only the whiteboardimage appears.

As stated above, FIG. 3 illustrates the software components in computingdevice 101 (FIGS. 1 and 2) used for detecting and correcting whiteboardimages in video frames while enabling the removal of the speaker orpresenter in accordance with an embodiment of the present invention. Inone embodiment, these software components may reside in application 204(FIG. 2).

The following provides a brief description of these software components.A more detailed description of these software components (includingtheir functionalities) is provided below in conjunction with FIGS. 4-6.

Referring to FIG. 3, in conjunction with FIGS. 1-2, computing device 101includes what is referred to herein as the “whiteboard detectionprocess” 301 which is configured to detect and correct whiteboard imagesin the video frames. A “whiteboard,” as used herein, includesmarkerboards, dry-erase boards, dry-wipe boards, pen-boards,blackboards, smart whiteboards, digital whiteboards and smart screens. A“whiteboard image,” as used herein, refers to an image from such awhiteboard.

Computing device 101 further includes a movement detection and renewalprocess 302 configured to remove the speaker or presenter from the videoframe.

Computing device 101 additionally includes a video output process 303configured to output a refined and easily viewable video streamconsisting of just the whiteboard image.

A further discussion regarding the functionality of these softwarecomponents is provided below in connection with FIGS. 4-6.

FIG. 4 is a flowchart of a method 400 for detecting and correctingwhiteboard images in video frames in accordance with an embodiment ofthe present invention.

Referring to FIG. 4, in conjunction with FIGS. 1-3, in step 401,whiteboard detection process 301 receives a video frame captured bycamera 210 containing a whiteboard image.

In step 402, whiteboard detection process 301 saves the video frame inan image matrix that serves as the data type for image manipulation. Forexample, the video frame may be stored in an image matrix, which isstored in a data storage unit (e.g., memory 206 or auxiliary storagedevice 208 of computing device 101).

In step 403, whiteboard detection process 301 converts the video frameto an image (e.g., black and white image, color image) (referred toherein as the “converted image”) for the detection of boundaries.

In step 404, whiteboard detection process 301 detects the boundaries ofthe whiteboard image in the converted image. In one embodiment, theconverted image (e.g., black and white image) is run through a Houghtransform, where this transform highlights all the straight linespresent in the image.

In step 405, whiteboard detection process 301 classifies the boundariesin the converted image as a horizontal or a vertical line. In oneembodiment, where the display, such as display 216 is curved, suchcurves would be taken into consideration and the boundaries in theconverted image would be classified in terms of straight horizontal orvertical lines.

In step 406, whiteboard detection process 301 forms the quadranglesusing spatial arrangements of these lines.

In step 407, whiteboard detection process 301 identifies the quadranglesmost likely to spatially coincide with the boundaries of the image ofthe whiteboard. In one embodiment, whiteboard detection process 301forms the quadrangles using spatial arrangements of lines by findingfour lines that intersect at approximately 90 degrees, with an errorrate of 30 degrees to allow for distortion. The quadrangles are thensorted (ranked) based on specific characteristics, such as size andposition. For example, quadrangles that fall below a fixed pixel areathreshold are discarded since they cannot hold discernible informationon the screen.

In the event that the whiteboard is a curved display, then detection ofappropriate curved lines would be detected, e.g., by a modified Houghtransform, with suitably modified intersecting angles. This could beaccomplished by using known curved dimensions of available displays orby detecting curved lines with appropriate ranges of parameters andangles.

In step 408, whiteboard detection process 301 crops the area in thevideo frame corresponding to the identified quadrangle.

In step 409, whiteboard detection process 301 corrects the perspectivedistortion effects in the cropped video frame, such as adjusting theperspective of the whiteboard image to give it a head-on view.

In step 410, whiteboard detection process 301 applies the imagecorrection and enhancement techniques to the cropped video frame, suchas refining the color of the whiteboard image. In one embodiment, thecolor of the whiteboard image is enhanced by estimating the backgroundcolor of the blank whiteboard, adjusting the background to pure whiteand enhancing the markings on the whiteboard as shown in FIG. 5.

FIG. 5 illustrates the process of steps 404-410 in visual form inaccordance with an embodiment of the present invention.

Referring to FIG. 5, after the video frame is converted to an image 501(e.g., black and white image), edges or boundaries are found (step 404),such as shown in image 502, where such boundaries are classified aseither horizontal or vertical (step 405), such as shown in image 503.Quadrangles are then formed using spatial arrangements of lines (step406) and the quadrangles are ranked based on specific characteristics(step 407), such as size and position, such as shown in image 504. Thearea corresponding to the identified quadrangle in the video frame isthen cropped (step 408) and the image is enhanced and corrected (steps409-410), such as shown in image 505.

Returning to FIG. 4, in conjunction with FIGS. 1-3 and 5, in step 411,whiteboard detection process 301 sends the video frame to the movementdetection and renewal process 302. The speaker or presenter may beremoved from the video frame containing the whiteboard image asdiscussed below.

FIG. 6 is a flowchart of a method 600 for removing the speaker orpresenter from the video frame to ensure that only the whiteboard imageappears in accordance with an embodiment of the present invention.

Referring to FIG. 6, in conjunction with FIGS. 1-5, in step 601,movement detection and renewal process 302 finds and tracks changes thatoccur overs subsets of multiple video frames (such as the video framesprovided in step 411) containing the whiteboard image.

In step 602, a determination is made by movement detection and renewalprocess 302 as to whether the changes are characteristic of movements ofa speaker. For example, in one embodiment, movement detection andrenewal process 302 finds where change is occurring in the image bycomparing color values from frame to frame. If change in a region isabove a certain threshold, then that region of the whiteboard isconsidered obscured by foreground objects, such as a speaker, and theoutput in that region is not updated. In one embodiment, a circularbuffer of color values is kept for each of the regions in the image. Themode, or most commonly occurring color, in this data set is the outputfor that region. If the region is marked as changing, the data set isnot updated with new values, and the old mode value will remain the sameuntil new non-changing color values are available for the region. In oneembodiment, the circular buffer is stored in a data storage unit ofcomputing device 101 (e.g., memory 206, auxiliary storage device 208).

If such changes are not characteristic of movements of a speaker, thenmovement detection and renewal process 302 continues to find and trackchanges that occur overs subsets of multiple frames containing thewhiteboard image in step 601.

If, however, such changes are characteristic of movements of a speaker,then, in step 603, movement detection and renewal process 302 determinesthe brightness values in the video frames that are determined to be partof the image of the speaker.

In step 604, movement detection and renewal process 302 removes thedetermined brightness values that are determined to be part of the imageof the speaker.

In step 605, movement detection and renewal process 302 replaces theremoved brightness values by the recent brightness values from thewhiteboard image that is the background. This has the effect ofproviding a persistent view of the whiteboard image while subtractingthe image of the speaker. Changes arising from actual additions ordeletions (e.g., writing or drawing) on the whiteboard itself aredistinguished from changes arising from the speaker, including shadowsand lighting changes, by measurements related to spatial area andtemporal persistency.

In step 606, video output process 303 sends the video frames with thereplaced brightness values that are determined to be part of the imageof the speaker (these are the resulting whiteboard images) to server102, which saves the video frames as a video stream that can be viewedat a later time, such as by other users via network 103. In oneembodiment, video output process 303 stores the entire history of thewhiteboard images from the movement detection and renewal process 302,such as in a data storage unit of computing device 101 (e.g., memory206, auxiliary storage device 208), and broadcasts the most recent imageon a ZeroMQ (high-performance asynchronous messaging library) socket toserver 102.

Once the resulting whiteboard video frames are stored in server 102,they may be viewed at any time via a wireless or wired connection toserver 102 using an application or website access by any standardcomputer device, such as a personal computer, smartphone or tablet.

In one embodiment, video output process 303 may subject the resultingwhiteboard video frames to video encoding to compress them for moreefficient transmission to server 102 and storage in server 102.

The principles of the present invention provide a means forautomatically detecting, enhancing and sharing of a whiteboard image.The principles of the present invention create a seamless way to detectand extract a whiteboard image and reduce the difficulty of sharing awhiteboard image. The application of the present invention receivesvideo frames that contain a whiteboard image, and outputs the whiteboardimage closely cropped, perspective corrected, and color enhanced to aserver. The speaker may be removed from the video frame, where theresulting whiteboard image without the speaker is sent to a server(e.g., server 102) via a ZeroMQ socket.

The descriptions of the various embodiments of the present inventionhave been presented for purposes of illustration, but are not intendedto be exhaustive or limited to the embodiments disclosed. Manymodifications and variations will be apparent to those of ordinary skillin the art without departing from the scope and spirit of the describedembodiments. The terminology used herein was chosen to best explain theprinciples of the embodiments, the practical application or technicalimprovement over technologies found in the marketplace, or to enableothers of ordinary skill in the art to understand the embodimentsdisclosed herein.

The invention claimed is:
 1. A method for improving the recording ofpresentations, the method comprising: receiving a video frame containinga whiteboard image; converting said video frame to an image containingsaid whiteboard image; detecting boundaries of said whiteboard image insaid converted image; classifying said detected boundaries as ahorizontal or a vertical line; forming quadrangles using spatialarrangements of said horizontal and vertical lines; identifying, by aprocessor, one or more quadrangles most likely to spatially coincidewith said boundaries of said whiteboard image; and cropping, by saidprocessor, an area in said video frame corresponding to said identifiedone or more quadrangles in said whiteboard image.
 2. The method asrecited in claim 1 further comprising: saving said video frame in animage matrix that serves as a data type for image manipulation.
 3. Themethod as recited in claim 1 further comprising: correcting perspectivedistortion effects in said cropped video frame.
 4. The method as recitedin claim 3 further comprising: applying an image correction andenhancement techniques to said cropped video frame.
 5. The method asrecited in claim 1 further comprising: finding and tracking changes thatoccur over subsets of multiple video frames that contain said whiteboardimage.
 6. The method as recited in claim 5 further comprising:determining brightness values in said multiple video frames that aredetermined to be part of an image of a speaker in response to saidchanges being determined to be characteristic of movements of saidspeaker.
 7. The method as recited in claim 6 further comprising:removing said determined brightness values in said multiple video framesthat are determined to be part of said image of said speaker; andreplacing said removed brightness values by recent brightness valuesfrom said whiteboard image.
 8. The method as recited in claim 7 furthercomprising: sending said multiple video frames with said replacedbrightness values that are determined to be part of said image of saidspeaker to a server which saves said multiple video frames as a videostream that can be viewed at a later time.
 9. A computer program productfor improving the recording of presentations, the computer programproduct comprising a non-transitory computer readable storage mediumhaving program code embodied therewith, the program code comprising theprogramming instructions for: receiving a video frame containing awhiteboard image; converting said video frame to an image containingsaid whiteboard image; detecting boundaries of said whiteboard image insaid converted image; classifying said detected boundaries as ahorizontal or a vertical line; forming quadrangles using spatialarrangements of said horizontal and vertical lines; identifying one ormore quadrangles most likely to spatially coincide with said boundariesof said whiteboard image; and cropping an area in said video framecorresponding to said identified one or more quadrangles in saidwhiteboard image.
 10. The computer program product as recited in claim9, wherein the program code further comprises the programminginstructions for: saving said video frame in an image matrix that servesas a data type for image manipulation.
 11. The computer program productas recited in claim 9, wherein the program code further comprises theprogramming instructions for: correcting perspective distortion effectsin said cropped video frame.
 12. The computer program product as recitedin claim 11, wherein the program code further comprises the programminginstructions for: applying an image correction and enhancementtechniques to said cropped video frame.
 13. The computer program productas recited in claim 9, wherein the program code further comprises theprogramming instructions for: finding and tracking changes that occurover subsets of multiple video frames that contain said whiteboardimage.
 14. The computer program product as recited in claim 13, whereinthe program code further comprises the programming instructions for:determining brightness values in said multiple video frames that aredetermined to be part of an image of a speaker in response to saidchanges being determined to be characteristic of movements of saidspeaker.
 15. The computer program product as recited in claim 14,wherein the program code further comprises the programming instructionsfor: removing said determined brightness values in said multiple videoframes that are determined to be part of said image of said speaker; andreplacing said removed brightness values by recent brightness valuesfrom said whiteboard image.
 16. The computer program product as recitedin claim 15, wherein the program code further comprises the programminginstructions for: sending said multiple video frames with said replacedbrightness values that are determined to be part of said image of saidspeaker to a server which saves said multiple video frames as a videostream that can be viewed at a later time.
 17. A system, comprising: amemory unit for storing a computer program for improving the recordingof presentations; and a processor coupled to the memory unit, whereinthe processor is configured to execute the program instructions of thecomputer program comprising: receiving a video frame containing awhiteboard image; converting said video frame to an image containingsaid whiteboard image; detecting boundaries of said whiteboard image insaid converted image; classifying said detected boundaries as ahorizontal or a vertical line; forming quadrangles using spatialarrangements of said horizontal and vertical lines; identifying one ormore quadrangles most likely to spatially coincide with said boundariesof said whiteboard image; and cropping an area in said video framecorresponding to said identified one or more quadrangles in saidwhiteboard image.
 18. The system as recited in claim 17, wherein theprogram instructions of the computer program further comprise: savingsaid video frame in an image matrix that serves as a data type for imagemanipulation.
 19. The system as recited in claim 17, wherein the programinstructions of the computer program further comprise: correctingperspective distortion effects in said cropped video frame.
 20. Thesystem as recited in claim 19, wherein the program instructions of thecomputer program further comprise: applying an image correction andenhancement techniques to said cropped video frame.
 21. The system asrecited in claim 17, wherein the program instructions of the computerprogram further comprise: finding and tracking changes that occur oversubsets of multiple video frames that contain said whiteboard image. 22.The system as recited in claim 21, wherein the program instructions ofthe computer program further comprise: determining brightness values insaid multiple video frames that are determined to be part of an image ofa speaker in response to said changes being determined to becharacteristic of movements of said speaker.
 23. The system as recitedin claim 22, wherein the program instructions of the computer programfurther comprise: removing said determined brightness values in saidmultiple video frames that are determined to be part of said image ofsaid speaker; and replacing said removed brightness values by recentbrightness values from said whiteboard image.
 24. The system as recitedin claim 23, wherein the program instructions of the computer programfurther comprise: sending said multiple video frames with said replacedbrightness values that are determined to be part of said image of saidspeaker to a server which saves said multiple video frames as a videostream that can be viewed at a later time.